#include <func.h>

void* start_routine(void* args) {
    printf("new thread: begin\n");
    // sleep(10);
    // pthread_exit(NULL);  // 导致调用线程终止
    for(;;) ;                   

    printf("new thread: end\n");
    return NULL;  // 从线程的入口函数返回
}

int main(int argc, char* argv[])
{
    printf("main thread: begin\n");
    pthread_t tid;
    int err = pthread_create(&tid, NULL, start_routine, NULL);
    if (err) {
        error(1, err, "pthread_create()");
    }

    sleep(5);
    pthread_exit(NULL);      // 主线程结束，不会导致整个进程结束    
    printf("main thread: end\n");
    // for(;;);
    // return 0;
}

